package com.mdb;

import java.util.List;

import javax.ejb.ActivationConfigProperty;
import javax.ejb.EJB;
import javax.ejb.MessageDriven;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.TextMessage;

import com.dao.UsuarioDAO;
import com.entidades.Usuario;

@MessageDriven(mappedName = "jms/filaProjeto2POD", activationConfig = {
		@ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge"),
		@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue") })
public class MensagemBeanMDB implements MessageListener {

	@EJB
	private UsuarioDAO usuarioDao;

	@Override
	public void onMessage(Message message) {
		List<Usuario> usuarios = usuarioDao.findAll();
		try {
			String mensagem = message.getStringProperty("mensagem");

			for (Usuario usuario : usuarios) {

//				Email email = new Email();
//				email.send(usuario.getEmail(), "teste", mensagem);

				System.out.println("-- Enviando Mensagem --");
				System.out.println(" ");
				System.out.println("Destinatario: " + usuario.getEmail());
				System.out.println("Mensagem:" + mensagem);
				//EmailUtils.enviarEmail(usuario.getEmail(), mensagem);
				System.out.println("Mensagem enviada com sucesso...");
				System.out.println(" ");
			}

		} catch (Exception e) {
			e.printStackTrace();
		}

		try {
			System.out.println(((TextMessage) message).getText());
		}

		catch (Exception e) {
			System.out.println("Erro: " + e);
		}
	}
}